import 'package:basePigeons/pigeons_model/pigeons_model.dart';
import 'package:basePigeons/session_invalid_utils.dart';
import 'package:flutter_getx/utils/toast.dart';

class FlutterApiImpl extends FlutterApi {
  @override
  SessionInvalidResult sessionInvalid() {
    // 鸿蒙层主动调用Flutter的sessionInvalid方法
    print('Flutter: sessionInvalid 被鸿蒙层调用了！');

    try {
      // 创建返回结果
      final result = SessionInvalidUtils.createDefaultResult();

      print('Flutter: 当前时间: ${result.timestamp}');
      print('Flutter: 返回消息: ${result.message}');

      // 显示Toast提示
      ToastUtil.showError(result.message);
      print('Flutter: Toast显示成功');

      // 可以在这里执行其他逻辑，比如跳转到登录页面
      // Get.offAllNamed('/login');

      // 或者清除本地存储的token
      // TokenManager().clearToken();

      print('Flutter: sessionInvalid 处理完成');

      // 返回结果
      return result;
    } catch (e) {
      print('Flutter: sessionInvalid 处理出错: $e');

      // 即使出错也返回结果
      return SessionInvalidUtils.createResult(
        timestamp: DateTime.now().toIso8601String(),
        message: '处理出错: $e',
      );
    }
  }
}
